package com.xujie.sportsmeeting.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 系统概览统计VO
 */
@Data
@Schema(description = "系统概览统计信息")
public class SystemOverviewVO {

    @Schema(description = "总用户数")
    private Long totalUsers;

    @Schema(description = "运动员总数")
    private Long totalAthletes;

    @Schema(description = "裁判员总数")
    private Long totalJudges;

    @Schema(description = "比赛项目总数")
    private Long totalEvents;

    @Schema(description = "已开始项目数")
    private Long startedEvents;

    @Schema(description = "已结束项目数")
    private Long finishedEvents;

    @Schema(description = "总报名数")
    private Long totalRegistrations;

    @Schema(description = "已审核报名数")
    private Long approvedRegistrations;

    @Schema(description = "待审核报名数")
    private Long pendingRegistrations;

    @Schema(description = "成绩录入数")
    private Long totalScores;

    @Schema(description = "决赛成绩数")
    private Long finalScores;

    @Schema(description = "预赛成绩数")
    private Long preliminaryScores;

    @Schema(description = "系统公告数")
    private Long totalNotices;

    @Schema(description = "已发布公告数")
    private Long publishedNotices;

    @Schema(description = "参赛院系数")
    private Long participatingDepartments;

    @Schema(description = "参赛班级数")
    private Long participatingClasses;

    @Schema(description = "男子运动员数")
    private Long maleAthletes;

    @Schema(description = "女子运动员数")
    private Long femaleAthletes;

    @Schema(description = "平均成绩完成率")
    private BigDecimal averageCompletionRate;

    @Schema(description = "今日新增报名数")
    private Long todayRegistrations;

    @Schema(description = "今日成绩录入数")
    private Long todayScores;

    @Schema(description = "本周活跃用户数")
    private Long weeklyActiveUsers;

    @Schema(description = "系统运行天数")
    private Long systemRunningDays;
}
